//package com.daifeng.authserver.exception;
//
//import com.daifeng.common.exception.BizCodeEnum;
//import com.daifeng.common.utils.R;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.validation.BindingResult;
//import org.springframework.web.bind.MethodArgumentNotValidException;
//import org.springframework.web.bind.annotation.ExceptionHandler;
//import org.springframework.web.bind.annotation.RestControllerAdvice;
//
//import java.util.HashMap;
//import java.util.Map;
//
///**
// * 集中处理所有异常
// */
//@Slf4j
//@RestControllerAdvice(basePackages = "com.daifeng.authserver.controller")
//public class GulimallExceptionAdvice {
//
//    // 处理所有的数据校验没通过的异常
//    @ExceptionHandler(value = MethodArgumentNotValidException.class)
//    public void handleValidException(MethodArgumentNotValidException exception){
//        Map<String,String> map=new HashMap<>();
//        BindingResult bindingResult = exception.getBindingResult();
//        bindingResult.getFieldErrors().forEach(fieldError -> {
//            String message = fieldError.getDefaultMessage();
//            String field = fieldError.getField();
//            map.put(field,message);
//        });
//        log.error("数据校验出现问题{},异常类型{}",exception.getMessage(),exception.getClass());
//        //return R.error(400,"数据校验出现问题").put("data",map);
//    }
//
//    // 处理所有的异常
//    @ExceptionHandler(value = Throwable.class)
//    public R handleException(Throwable throwable){
//        log.error("未知异常{},异常类型{},该死的程序员太菜了",throwable.getMessage(),throwable.getClass());
//        return R.error(BizCodeEnum.UNKNOW_EXEPTION.getCode(),BizCodeEnum.UNKNOW_EXEPTION.getMsg());
//    }
//
//}